﻿namespace TY.UC.Http
{
    /// <summary>
    /// TY Json请求参数统一模型
    /// </summary>
    public class TyRequestStrModel
    {
        /// <summary>
        /// api的方法名（默认“”）
        /// </summary>
        public string Action { get; set; }
        /// <summary>
        /// 访问标识（默认“”，如green，shop，orange）
        /// </summary>
        public string AppKey { get; set; }
        /// <summary>
        /// 参数JSON格式字符串
        /// </summary>
        public string Data { get; set; }
        /// <summary>
        /// 提交参数类型默认json
        /// </summary>
        public string Format { get; set; }
        /// <summary>
        /// 平台 ：ISO、Android、PC
        /// </summary>
        public string Platform { get; set; }
        /// <summary>
        /// 加密方式默认Md5
        /// </summary>
        public string SignMethod { get; set; }
        /// <summary>
        /// 时间戳
        /// </summary>
        public string Timestamp { get; set; }
        /// <summary>
        /// 客户端系统的版本
        /// </summary>
        public string Version { get; set; }
        /// <summary>
        /// 签名
        /// </summary>
        public string Sign { get; set; }
    }
    /// <summary>
    /// TY Json请求参数统一模型
    /// </summary>
    public class TyRequestModel
    {
        /// <summary>
        /// api的方法名（默认“”）
        /// </summary>
        public string Action { get; set; }
        /// <summary>
        /// 访问标识（默认“”，如green，shop，orange）
        /// </summary>
        public string AppKey { get; set; }
        /// <summary>
        /// 参数JSON格式字符串
        /// </summary>
        public object Data { get; set; }
        /// <summary>
        /// 提交参数类型默认json
        /// </summary>
        public string Format { get; set; }
        /// <summary>
        /// 平台 ：ISO、Android、PC
        /// </summary>
        public string Platform { get; set; }
        /// <summary>
        /// 加密方式默认Md5
        /// </summary>
        public string SignMethod { get; set; }
        /// <summary>
        /// 时间戳
        /// </summary>
        public string Timestamp { get; set; }
        /// <summary>
        /// 客户端系统的版本
        /// </summary>
        public string Version { get; set; }
        /// <summary>
        /// 签名
        /// </summary>
        public string Sign { get; set; }
    }

    /// <summary>
    /// TY Json请求参数统一模型
    /// </summary>
    public class TyRequestModel<T> where T : class
    {
        /// <summary>
        /// api的方法名（默认“”）
        /// </summary>
        public string Action { get; set; }
        /// <summary>
        /// 访问标识（默认“”，如green，shop，orange）
        /// </summary>
        public string AppKey { get; set; }
        /// <summary>
        /// 参数JSON格式字符串
        /// </summary>
        public T Data { get; set; }
        /// <summary>
        /// 提交参数类型默认json
        /// </summary>

        public string Format { get; set; }
        /// <summary>
        /// 平台 ：ISO、Android、PC
        /// </summary>
        public string Platform { get; set; }
        /// <summary>
        /// 加密方式默认Md5
        /// </summary>
        public string SignMethod { get; set; }
        /// <summary>
        /// 时间戳
        /// </summary>
        public string Timestamp { get; set; }
        /// <summary>
        /// 客户端系统的版本
        /// </summary>
        public string Version { get; set; }
        /// <summary>
        /// 签名
        /// </summary>
        public string Sign { get; set; }
    }

    /// <summary>
    /// TY 返回值请求结果统一返回值
    /// </summary>
    public class TyResultModel
    {
        /// <summary>
        /// 构造方法，初始化code=0,msg=""
        /// </summary>
        public TyResultModel()
        {
            code = "0";
            msg = "";
        }

        public TyResultModel(string msg)
            : this()
        {
            this.msg = msg;
        }
        /// <summary>
        /// 业务返回值
        /// </summary>
        public object data { get; set; }

        /// <summary>
        /// 操作结果，一般0是是成功，其他均为失败
        /// </summary>
        public string code { get; set; }

        /// <summary>
        /// 备注信息
        /// </summary>
        public string msg { get; set; }
    }
    /// <summary>
    /// TY 返回值请求结果统一返回值
    /// </summary>
    public class TyResultModel<T> where T : class
    {
        /// <summary>
        /// 构造方法，初始化code=0,msg=""
        /// </summary>
        public TyResultModel()
        {
            code = "0";
            msg = "";
        }
        /// <summary>
        /// 业务返回值
        /// </summary>
        public T data { get; set; }

        /// <summary>
        /// 操作结果，一般0是是成功，其他均为失败
        /// </summary>
        public string code { get; set; }

        /// <summary>
        /// 备注信息
        /// </summary>
        public string msg { get; set; }
    }
}
